<!doctype html>
<html>

	<head>
		<meta charset="utf-8">
		<title>入库申请登记</title>
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
		<link rel="stylesheet" href="../../../lib/layui-v2.5.5/css/layui.css" media="all">
	</head>

	<body>
		<!--
			弹出框相关代码
		-->
		<div>
		
			<!--修改的弹出层-->
		<div class="layui-row" id="update" style="display:none;">
				<div class="layui-col-md10" align="center">
					<form class="layui-form layui-from-pane" style="margin-top: 20px;" method="" id="accountFomat">
						<table id="demo" lay-filter="test"></table>
						<div class="layui-form-item" style="margin-top:40px">
						</div>
					</form>
				</div>
			</div>
		</div>
		<div>
			<div>
				<form class="layui-form" action="" style="padding-top: 1%;">
					<div class="layui-form-item">
						<div class="layui-input-block" style="display: inline-block;margin-left: 0%;">
							<div style="display: inline-block;">
								<label class="layui-form-label">入库人:</label>
							</div>
							<div style="display: inline-block;vertical-align: top;">
								<input type="text" name="title" required lay-verify="required" style="width: 100%;" autocomplete="off" class="layui-input">
							</div>
						</div>
						<div style="display: inline-block;margin-left: 0%;">
							<div style="display: inline-block;">
								<label class="layui-form-label">入库理由:</label>
							</div>
							<div style="display: inline-block;vertical-align: top;">
								<select name="city" required lay-verify="required" >
									<option value="">请选择</option>
									<option value="R001-1">生产入库</option>
									<option value="R001-2">库存初始</option>
									<option value="R001-3">赠送</option>
									<option value="R001-4">内部归还</option>
									<option value="R001-5">其他归还</option>
								</select>
							</div>

						</div>
						<div style="display: inline-block;line-height: 50px;">
							<button type="button"  id="tocke" class="layui-btn layui-btn-xs" style="vertical-align: top;">入库物料</button>
						</div>
						<div class="layui-input-block" style="margin-left: 0;">
							<table id="ProductFile" lay-filter="table">
							</table>
						</div>
						<div class="layui-input-block" style="margin-left: 0;">
							<div style="display: inline-block;vertical-align: top;">
									<span style="font-size: 14px;">备注:</span>
							</div>
							<div style="display: inline-block;width: 40%;">
							<textarea name="reasonexact" required placeholder="请输入" class="layui-textarea"></textarea>
							</div>
						</div>
						 <div class="layui-form-item">
						    <div class="layui-input-block">
						      <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
						      <button type="reset" class="layui-btn layui-btn-primary">重置</button>
						    </div>
						  </div>
					</div>
					</from>
			</div>

		</div>
		<script src="../../../lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
		<script src="../../../lib/layui-v2.5.5/layui.js" charset="utf-8"></script>
		<script src="../../../lib/common/jquery.cookie.min.js" charset="utf-8"></script>
		<script src="../../../lib/common/common.js" charset="utf-8"></script>
		<script type="text/javascript">
			layui.use(['table', 'jquery', 'form'], function() {
				var pd=new Array();
				var formpd=0;
				var arc = new Array(); 
				var ab = new Array();
				var table = layui.table,
					layer = layui.layer,
					form = layui.form,
					$ = layui.jquery;
				//表单提交
				form.on('submit(formDemo)', function(data) {
					if(formpd==0){
						layer.msg("请认真填写",{icon:5})
						return false;
					}
					var list= new Array();
					list.push({storer:"",reason:"",reasonexact:"",costPriceSum:0,amountSum:0})
					for (var i = 0; i < ab.length; i++) {
						if(typeof(ab[i].number)=="undefined"||ab[i].number==""||ab[i]==0){
							layer.msg("数量不能为空！",{icon:5})
							return false;
						}
						if(isNaN(ab[i].number)){
							layer.msg("数量格式不正确！",{icon:5})
							return false;
						}
						list[0].costPriceSum+=ab[i].subtotal;
						list[0].amountSum+=parseInt(ab[i].number);
					}
						list[0].storer=data.field.title;
						list[0].reason=data.field.city;
						list[0].reasonexact=data.field.reasonexact;
					if (data.field.city == "") {
						layer.msg("请选择理由",{icon:5})
					}
					$.ajax({
					            url: api8 +"/PutRepertory/PutRepertoryadd",
					            type: "post",
					            data: JSON.stringify(list),
					            dataType:"JSON",
					            contentType:'application/json;charset=utf-8',
					            success: function (data) {
									for(var i=0;i<ab.length;i++){
										ab[i].parentid=data.id;
										ab[i].getpid=data.id;
										ab[i].pid=data.id;
									}
									ajax( "/PutRepertoryDetails/insertPutRepertoryDetails","post",JSON.stringify(ab),"JSON");
					            },
					            error: function (data) {
					                console.log(data.status);
					            }
					        });
					return false;
				});
				
				function ajax(url,type,data,dataType){
					$.ajax({
					            url: api8 +url,
					            type: type,
					            data: data,
					            dataType:dataType,
					            contentType:'application/json;charset=utf-8',
					            success: function (data) {
									layer.msg("执行成功！",{icon:1});
									return true;
					            },
					            error: function (data) {
					                console.log(data.status);
					            }
					        });
				}
				//监听行工具事件
				table.on('tool(test)', function(obj) {

					var ok;
					var data = obj.data;
					if (ab.length != 0) {
						for (var i = 0; i < ab.length; i++) {
							if (ab[i].productId == data.productId) {
								layer.msg("请勿重复添加", {
									icon: 5
								})
								ok = 0;
								break;
							} else {
								ok = 1;
							}
							//if(ab[i].id)
						}
					} else {
						obj.data.subtotal = 0
						ab[0] = data;
					}
					if (ok == 1) {
						obj.data.subtotal = 0
						ab[ab.length] = data
					}
					table.init('table', {
						page: true, //开启分页
						totalRow: true,
						cols: [
							[{
								field: 'productName',
								title: '产品名称',
								sort: true,
								fixed: 'left',
								totalRowText: '合计'
							}, {
								field: 'productId',
								title: '产品编号'
							}, {
								field: 'productDescribe',
								title: '描述'
							}, {
								field: 'number',
								title: '数量',
								edit: 'text'
							}, {
								field: 'personalUnit',
								title: '单位',
							}, {
								field: 'costPrice',
								title: '	成本单价（元）',
							}, {
								field: 'subtotal',
								title: '	小计（元）',
								totalRow: true
							}, {
								field: 'city',
								title: '	入库',
								templet: '#formulate'
							}]
						],
						data: ab
					});
				});

				table.init('table', {
					page: true, //开启分页
					cols: [
						[{
							field: 'productName',
							title: '产品名称',
							sort: true,
							fixed: 'left'
						}, {
							field: 'productId',
							title: '产品编号'
						}, {
							field: 'productDescribe',
							title: '描述'
						}, {
							field: 'number',
							title: '数量',
							edit: 'text'
						}, {
							field: 'personalUnit',
							title: '单位',
						}, {
							field: 'costPrice',
							title: '	成本单价（元）',
						}, {
							field: 'subtotal',
							title: '	小计（元）',
						}, {
							field: 'city',
							title: '操作',
							templet: '#formulate'
						}]
					]
				});

				function lopen() {
					layer.open({
						type: 1,
						title: '入库物料',
						area: ['900px', '600px'],
						content: $('#update') //这里content是一个DOM，注意：最好该元素要存放在body最外层，否则可能被其它的相对元素所影响
					});
				}
				$("#tocke").click(function() {
					lopen();
				})
				table.render({
					elem: '#demo',
					width: 900,
					url: api8 + 'RepertoryCell/getRepertroyCellList' //数据接口
						,
					page: true //开启分页
						,
					cols: [
						[ //表头
							{
								field: 'productId',
								title: '产品编号',
								width: 200,
								sort: true,
								fixed: 'left'
							}, {
								field: 'productName',
								title: '产品名称',
								width: 120
							}, {
								field: 'type',
								title: '用途类型',
								width: 120,
								templet: '#forType'
							}, {
								field: 'personalUnit',
								title: '单位',
								width: 120
							}, {
								field: 'costPrice',
								title: '	成本单价（元）',
								width: 180
							}, {
								field: 'city',
								title: '操作',
								width: 150,
								templet: '#formulate2'
							}
						]
					],
					done: function(res, curr, count) {
						//如果是异步请求数据方式，res即为你接口返回的信息。
						//如果是直接赋值的方式，res即为：{data: [], count: 99} data为当前页数据、count为数据总长度
						pd=res.data
					}
				});
				table.on('tool(table)', function(obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
					var data = obj.data; //获得当前行数据
					var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
					var tr = obj.tr; //获得当前行 tr 的 DOM 对象（如果有的话）
					layer.confirm('真的删除行么', function(index) {
						obj.del(); //删除对应行（tr）的DOM结构，并更新缓存
						layer.close(index);
						//向服务端发送删除指令
						// console.log(data)
						// console.log(layEvent)
						// console.log(ab)
						//array.splice(start,1)
						for (var i = 0; i < ab.length; i++) {

							if (ab[i].productId == data.productId) {
								ab.splice(i, 1)
								console.log(ab);
								table.init('table', {
									page: true, //开启分页
									totalRow: true,
									cols: [
										[{
											field: 'productName',
											title: '产品名称',
											sort: true,
											fixed: 'left',
											totalRowText: '合计'
										}, {
											field: 'productId',
											title: '产品编号'
										}, {
											field: 'productDescribe',
											title: '描述'
										}, {
											field: 'number',
											title: '数量',
											edit: 'text'
										}, {
											field: 'personalUnit',
											title: '单位',
										}, {
											field: 'costPrice',
											title: '	成本单价（元）',
										}, {
											field: 'subtotal',
											title: '	小计（元）',
											totalRow: true
										}, {
											field: 'city',
											title: '	入库',
											templet: '#formulate'
										}]
									],
									data: ab
								});
								break;
							}
						}
					});

				});
				table.on('edit(table)', function(obj) { //注：edit是固定事件名，test是table原始容器的属性 lay-filter="对应的值"
					console.log(obj.data)
					console.log(pd)
					for (var i = 0; i < pd.length; i++) {
						if(obj.data.productId==pd[i].productId){
							if((parseInt(obj.value)+parseInt(pd[i].amount))>pd[i].maxCapacityAmount){
								formpd=0;
								layer.msg("超出最大库存！！,最大库存:"+obj.data.maxCapacityAmount+",原有库存:"+pd[i].amount,{icon:5})
								return;
							}
							if(obj.value>pd[i].maxCapacityAmount){
								formpd=0;
								layer.msg("超出最大库存！,最大库存:"+pd[i].maxCapacityAmount,{icon:5})
								return;
							}
						}
					}
						formpd=1;
					for (var i = 0; i < ab.length; i++) {
						if (ab[i].productId == obj.data.productId) {
							ab[i].subtotal = obj.value * obj.data.costPrice;
							ab[i].amount = obj.value;
							break;
						}
					}
					table.init('table', {
						page: true, //开启分页
						totalRow: true,
						cols: [
							[{
								field: 'productName',
								title: '产品名称',
								sort: true,
								fixed: 'left',
								totalRowText: '合计'
							}, {
								field: 'productId',
								title: '产品编号'
							}, {
								field: 'productDescribe',
								title: '描述'
							}, {
								field: 'number',
								title: '数量',
								edit: 'text'
							}, {
								field: 'amountUnit',
								title: '单位',
							}, {
								field: 'costPrice',
								title: '	成本单价（元）',
							}, {
								field: 'subtotal',
								title: '	小计（元）',
								totalRow: true
							}, {
								field: 'city',
								title: '	入库',
								templet: '#formulate'
							}]
						],
						data: ab
					});
				});});
		</script>
		<script type="text/html" id="inputsl">
			<input type="text" name="title" required lay-verify="required" placeholder="输入数量" ,height: 315, autocomplete="off" class="layui-input">    
		</script>
		<script type="text/html" id="forType">
			{{# if(d.type=='Y001-1'){d.type='商品'}}
				{{d.type}}
			{{# }else{d.type='物料'}}
				{{d.type}}
			{{# }}}
		</script>
		<script type="text/html" id="forProductClass">
			{{# if(d.productClass=='D001-1'){d.productClass='高档'}}
				{{d.productClass}}
			{{# }else if(d.productClass=='D001-2'){d.productClass='中档'}}
				{{d.productClass}}
			{{# }else{d.productClass='抵挡'}}
				{{d.productClass}}
			{{# }}}
		</script>
		<script type="text/html" id="formulate">
			<button type="button" class="layui-btn layui-btn-xs" id="a" lay-event="edit">删除</button> 
		</script>
		<script type="text/html" id="formulate2">
			<button type="button" class="layui-btn layui-btn-xs" id="a" lay-event="edit">入库</button> 
		</script>
	</body>

</html>
